package com.quick.develop.flowable.domain.entrust;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.Set;

import static com.quick.develop.framework.utils.DateUtils.YYYY_MM_DD;

/**
 * @author junyuan.liu
 * @description:
 * @date 2022/9/6 9:49
 */
@ApiModel("流程管理后台 - 流程委托数据获取 VO")
@Data
public class BpmEntrustInfoReqVO implements Serializable {
    private static final long serialVersionUID = -1905936129847617093L;

    @ApiModelProperty(value = "流程定义Key", required = true)
    @NotEmpty(message = "流程标识不能为空")
    private String modelKey;

    @ApiModelProperty(value = "流程实例ID")
    private String processInstanceId;
    
    @ApiModelProperty(value = "源委托人", notes = "多个")
    private Set<String> createdUsers;

    @ApiModelProperty(value = "源委托人", notes = "单个")
    private String createdUser;

    @ApiModelProperty(value = "委托人", notes = "多个")
    private Set<String> entrustUsers;

    @ApiModelProperty(value = "委托人", notes = "单个")
    private String entrustUser;

    @ApiModelProperty(value = "委托时间", required = true)
    @NotNull(message = "委托时间不能为空")
    @DateTimeFormat(pattern = YYYY_MM_DD)
    private Date entrustDate;
}
